The invention pertains to a method for determining the rotational position of the drive shaft of a direct current (DC) motor and especially determining the position of an element driven by the drive shaft within a predetermined path of movement by evaluating the current ripples contained in the rotor current signal.
The rotor current signal of a DC motor is made up of a DC component and an AC (analog current) component superimposed on the DC component. The AC component results from the interaction of the magnet (field), the rotor windings, and the commutator of the DC motor during operation of the DC motor. This manifests itself through transient changes in the induced voltage which produce ripples in the rotor current signal. When the rotor is rotating the current spikes, called xe2x80x9ccurrent ripplesxe2x80x9d and xe2x80x9ccurrent peaksxe2x80x9d in the following description, in the rotor current signal occur at a frequency corresponding to the number of collector plates. If the rotor has, e.g., 10 collector plates, then 10 current ripples are detected in the rotor current signal. Thus, counting the current ripples provides information on the current rotational position of the rotor of the DC motor and thus, provides information relative to the position of the driven element within its predetermined path of movement. For this purpose, the analog rotor current signal is digitized in order to count the current ripples.
Such a method is known, e.g., from DE 195 11 307 C1. So that interference pulses superimposed on the rotor current signal are not included in the evaluation of the current ripple count, typically the analog rotor current signal undergoes conditioning before its digitization, e.g., it is subjected to frequency filtering. These previously known means and also other means are used so that a current ripple signal that is as free from interference pulses as much as possible can be supplied for digitization and subsequent count evaluation. In this context, interference pulses do not include pulses that are conditional to the commutator and that are superimposed on the rotor current signal.
However, during operation of a DC motor, particularly under a load, the current ripple contained in the rotor current signal can become distorted. Such a distortion can be evident by two current peaks. In the course of digitizing such a rotor current signal, instead of one current peak, two current ripples are indicated at the position of the distortion in the current ripple signal. Counting this double ripple leads to erroneous position determination of the driven element. Corresponding results apply for the absence or non-detection of a current ripple. These errors are conditional to the commutator and thus they can be eliminated without anything further through conditioning of the analog rotor current signal.
Such methods are used, e.g., in the automotive field, for controlling an adjustable drive, like those provided, e.g., for windows and sunroofs. An essential element in the determination of the position, e.g., of the window, is the element that can turn off the jamming protection when the window is being closed. Turning off this protection is necessary so that the window can travel completely into its upper block and into the seals arranged in this block without the increased load forcing the motor to be turned off. With erroneous counting of the current ripples for determining the position of the window the jamming protection may be turned off too early or too late.
Starting with the state of the art that has been discussed, the objective of the invention is based on refining a method according to the class mentioned above such that an exact current ripple count is guaranteed even when a current ripple contained in the rotor current signal is distorted or absent.
For the object of the invention, a correct, undistorted current ripple used as a calibration or reference variable is compared with other, possibly faulty current ripples. This alignment between a correctly defined current ripple and the other ripples is done by comparing each period with the others. For the reference current ripple, it is assumed that its period corresponds with sufficient precision to the detected period of the current ripple in the rotor current signal of the DC motor or from the period determined from this signal. A comparison of the periods of the reference current ripple with the period of each, actually measured current ripple in the current ripple signal leads to the correction of periods in the current ripple signal which do not exhibit sufficient agreement with the period of the reference current ripple.
For providing a reference current ripple, in one embodiment, the DC motor operates in connection with a desired movement of the driven element from a first position into a second position for a short time period without a load and the rotor current signal from this operating state of the DC motor is evaluated with reference to current ripples contained in the signal. This configuration of the invention assumes that erroneous current ripples which can be distorted or even missing occur at a higher frequency when the DC motor operates under a load and erroneous ripples do not occur or only occur at a negligible frequency when the DC motor operates without a load. Thus, the periods of the current ripple when the DC motor operates without a load can be used as reference current ripples.
The object of the invention uses the premise that a rapid change in the rotational speed of the DC motor, for instance a doubling or a halving resulting in a corresponding halved or doubled period as compared with the period of the reference current ripple, is not possible due to the moment of inertia of the moving parts of the DC motor. Conditional to the commutator, erroneous or distorted current ripples exhibit two maximums instead of one expected maximum in the analog rotor current signal. For instance, the detection of a rapid halving of the period for a current ripple relative to the period of the reference current ripple or also relative to the period of a previous current ripple allows the conclusion to be made that this period halving is not a result, for instance, of a rapid doubling of the rotational speed of the DC motor, but instead, it is a result of a distorted current ripple. The number of current-ripple periods recognized as erroneous in the current ripple signal is then corrected correspondingly.
The period of the reference current ripple can be determined advantageously from the rpm (revolutions per minute) or speed of the rotor of the DC motor. The rpm or speed of the rotor of the DC motor is determined from the present current and voltage values applied to the DC motor. Because erroneous periods can be noticed either through doubling or halving of the period of the reference current ripple, the factors that influence the actual rpm or speed of the rotor of the DC motor in addition to the current or voltage values, e.g., the motor inductivity or temperature influences, can be basically ignored. These factors can be ignored because the variables associated with these factors do not change enough to call attention to the fact that the period of the reference current ripple calculated from the detected rpm or speed is off by a factor of two.
However, it is advantageous for the period of the reference current ripple to have a tolerance range that is much smaller than the determined period of the reference current ripple. The period of the reference current ripple, with or without a tolerance range, can be adapted further depending on the actually measured period of the individual current ripples, so that in this way, other factors influencing the rpm and speed of the rotor are also considered in processing the period of the reference current ripple. This provides a self-teaching and somewhat self-calibrating system.
By comparing the period of a reference current ripple with each period of the current ripples contained in the current ripple signal, a correction is performed for each period recognized as erroneous without averaging a period over a certain amount of time. Therefore, for the method of the invention, the current ripple signal is corrected in its smallest unit, namely the period of each current ripple. This has the result that the rotational position of the drive shaft of the DC motor can be determined in a cycle corresponding to the period of the reference current ripple.
The number of current-ripple periods recognized as defective in the current ripple signal is corrected when a distorted current ripple occurs. For instance, two current ripples are contained in the current ripple signal instead of only one, if the detected period is halved relative to the period of the reference current ripple; a corresponding correction is performed that divides the number of detected current ripples with halved periods by a factor of two.
A corresponding process is performed for the inverse case when the period reproduced in the current ripple signal is, e.g., doubled by an apparent fusion of two current ripples. To correct this error, the number of such periods is doubled.
Therefore, with the method according to the invention, an exact position determination of the element driven by the DC motor is performed even when faulty current ripples are contained in the current ripple signal due to certain load conditions.
Fundamentally, a correction as described above can be performed at an arbitrary time within each period, in which the DC motor is operated for moving the driven element from a first position into a second position. In the scope of the previously described embodiment, in which a reference current ripple is provided by motor operation without a load, all that must be guaranteed for determining the reference current ripple is that the motor operates for a period of time without or essentially without a load before performing the adjustment movement for the driven element. This can be the case, e.g., at the motor start-up phase or also at the motor stop-down phase. Such an operating state, where the DC motor driving the driven element operates without a load, can be realized through a correspondingly conceived mechanical power transmission means from the DC motor to the driven element, for instance, a cable line. This can provide sufficient play in the power transmission between the driving of DC motor and the driven element in order to have a sufficient rotational movement of the DC motor without a load so that at least one reference current ripple can be detected.
The method according to the invention is suitable particularly for use in the scope of position detection for an adjustment device for opening and closing a window, a sunroof, or for adjusting a seat in a motor vehicle. Position determination, e.g., of the window, can then be performed just by evaluating the current ripple signal without the use of additional sensors. However, with such a use, the reference current ripple must be detected at the motor start and thus before movement of the window, such that simultaneous with the movement, the desired correction can be performed without having to store the entire current ripple signal at the beginning and without having to correct the performed movement relative to the position determination of the driven element at the end. Only in this way can the corresponding position of the window be detected with sufficient reliability to indicate whether the jamming protection can be turned off depending on other factors so that the window can be moved into the seals of the upper block.